home *** CD-ROM | disk | FTP | other *** search
/ Oh!X 2001 Spring / Oh!X 2001 Spring Special CD-ROM (Japan).7z / Oh!X 2001 Spring Special CD-ROM (Japan) (Track 1).bin / CGI / list5.cgi < prev   
Text File  |  2000-10-28  |  1KB  |  54 lines

  1. #!/usr/local/bin/perl
  2.  
  3. require "cgi-lib.pl";
  4.  
  5. #---------------------------------------
  6. #REFERER LOGGER
  7. #        by de. 2000
  8. #---------------------------------------
  9.  
  10. my $referer; #REFERER文字列が入る変数
  11. my @queue;#URL11個の配列
  12. my $myself="http://web.pe.to/~deyamato"; #省くアドレス
  13. my $logfilename="refererlog.dat";
  14.  
  15. #画像を表示
  16. open(GIF,"./banner.gif");
  17. @gifdata = stat("./banner.gif");
  18. $byte = $gifdata[7];
  19. print "Content-type: image/gif\n";
  20. print "Content-length: $byte\n\n";
  21. print <GIF>;
  22. close(GIF);
  23. ##--
  24.  
  25. #QUERY文字列からハッシュを作る
  26. &ReadParse(*input);
  27. @val = split(/&/,$input);
  28. foreach $i(0 .. $#val){
  29.     $val[$i] =~ s/%(..)/pack("c",hex($1))/ge;
  30.     ($name,$value) = split(/=/,$val[$i],2);
  31.     $value =~ s/\+/ /g;
  32.     $val{$name} = $value;
  33. }
  34.  
  35. #エラーログファイルを開く
  36. open(ERRLOG,">rlog_err.log");
  37.  
  38. if(exists($val{"referer"})){
  39.     $referer=$val{"referer"};
  40. }
  41.  
  42. if($referer =~ /^http:\/\//){
  43.     if(!($referer =~ /$myself/)){
  44.     Getlogfile($referer);
  45.     }
  46. }
  47.  
  48. #終わり処理
  49. close(ERRLOG);
  50. exit(0);
  51.  
  52. sub Getlogfile{
  53. (以下リスト2と同じ)
  54.